#include "soc_io.h"

/*-------------------------------------------------------------------------------------------*/
/*--------------------------------- 第1部分代码 ---------------------------------------*/
/*-------------------------------------------------------------------------------------------*/
#define N 10

/* 待测的无序数组 */
int data[N] = {5, 9, 3, 2, 1, 8, 7, 4, 10, 6};

/* 事先计算好的正确排序结果 */
int ans[N] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};

/*-------------------------------------------------------------------------------------------*/
/*--------------------------------- 第2部分代码 ---------------------------------------*/
/*-------------------------------------------------------------------------------------------*/
int main() {
    init();           // 假设为测试环境初始化函数
    int flag = 1;     // 测试结果标志，1表示通过，0表示不通过
    int i, j;

    /* 冒泡排序 */
    for(i = 0; i < N - 1; i++) {
        for(j = 0; j < N - i - 1; j++) {
            if(data[j] > data[j + 1]) {
                /* 交换 */
                int temp = data[j];
                data[j] = data[j + 1];
                data[j + 1] = temp;
            }
        }
    }

    /* 比较排序后结果与ans */
    for(i = 0; i < N; i++) {
        if(data[i] != ans[i]) {
            flag = 0;  // 一旦发现不一致，就认为测试不通过
            break;
        }
    }

    /* 输出测试结果 */
    print_result(flag);

    /* 保持程序不退出 */
    while(1);

    return 0;
}